迪文屏DMT12800K070

您所在的位置:网站首页 sd卡规格 图片 迪文屏DMT12800K070

迪文屏DMT12800K070

2024-02-09 05:33| 来源: 网络整理| 查看: 265

项目开发需求用迪文屏设计人机交互界面,接触了几天,体验如何,不做评价。有此一文,以预防将来还有用到这东西做开发,但是自己把之前学的基本忘光而被迫回去分析官方资料的情况(如果可以真不想再看第二次,最多最多去查个表)。

目录 一、准备工作1. 资料获取1.1 迪文官网1.2 迪文开发者论坛 2. 上电与串口通信2.1 连接方式与驱动检查2.2 UART2串口通信协议2.3 串口通信测试 3. 新建工程3.1 开发软件版本选择3.2 设置分辨率 二、起步阶段1. 等待初始化页面1.1 添加背景图片1.2 制作ICO图标库文件1.3 添加动画图标1.4 添加0号字库1.5 SD卡接口下载工程1.6 串口通信:页面切换指令 2. 初步规划主页面2.1 更换背景图片2.2 放置RTC显示控件2.3 放置文本显示控件2.4 添加基础触控2.5 串口通信:RTC读取与修改

一、准备工作 1. 资料获取 1.1 迪文官网

  拿到迪文屏第一步,看一下对应型号的数据手册,获取相关的显示规格及电气参数。数据手册可以在 迪文官网 查找: 在这里插入图片描述

1.2 迪文开发者论坛

  到迪文开发者论坛的 帖子1 下载详细一些的应用开发指南,记得先看产品型号和软件平台对应表,根据这个选择要下载的文档(在之前下载的数据手册里应该也会有指明该产品使用的 UI 版本): 在这里插入图片描述 在这里插入图片描述   除了刚才的应用开发指南,还有一个DWIN OS程序开发指南文档在 帖子2 下载(这个实际上是适用于汇编二次开发需求的文档,可以酌情取舍): 在这里插入图片描述   这里选择的自然是《T5UID3 DGUSII 应用开发指南20210127.pdf》以及《基于T5 CPU的DWIN OS程序开发指南V21.pdf》。

注意:帖子1 里提供的手册都是 T5 系列的而非 T5L 系列的,这两者存在区别,并不能通用。

  最后还可以在 帖子3 的大概位置下载对应迪文屏型号的 DEMO,这算是相当有力的参考资料了。

2. 上电与串口通信 2.1 连接方式与驱动检查

  8pin 接口与 HDL65011 连接线为本文实际调试所用连接方式: 在这里插入图片描述   当显示屏通过串口连接到 PC 端时,确保系统能正常识别出来并分配好 COM 口,顺便改一下配置参数: 在这里插入图片描述 在这里插入图片描述

2.2 UART2串口通信协议

  在描述协议数据帧结构前,需要明确几点:

每个串口数据的传送采用 10 个位,包括 1 个起始位,8 个数据位,1 个停止位;串口的所有指令或数据都是 16 进制(HEX) 格式;对于字型(2字节)数据,规定采用 MSB(高字节优先传送) 方式;最好不要在一个 DGUS 周期(40 ms)内发送超过 4KB 的数据给 DGUS 屏。

  数据帧结构如下: 在这里插入图片描述

PS:实际上指令一共有 4 个:80/81 是寄存器级别的写和读,82/83 则是变量级别的写和读。一般用户使用 82/83 就能基本满足需求了。

在这里插入图片描述 在这里插入图片描述

2.3 串口通信测试

  给显示屏上电,打开串口助手,配置好串口参数: 在这里插入图片描述   现在来发一条指令测试。根据之前贴出的串口通讯协议以及应用开发指南中给出的系统变量接口一览表,测试一下能否从显示屏读取版本号。 在这里插入图片描述   测试结果正常: 在这里插入图片描述

3. 新建工程 3.1 开发软件版本选择

  迪文屏的软件有很多不同的版本,其中一些版本只适用于特定系列的迪文屏。比如博主这里的两个版本,V7385 并没有对迪文屏型号有规定,而 V7592 则在软件内部的版本说明里指出 “该版本仅适用于 T5L”,因此博主选择使用的开发软件版本为 V7385。 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

3.2 设置分辨率

  直接点新建工程就会弹出属性设置对话框。这里按实际使用的迪文屏显示分辨率填(可以手动修改): 在这里插入图片描述   如果后面需要修改分辨率可以在这里重新设置: 在这里插入图片描述   这样就建好了空白的工程。进到工程目录可以看到里面新增加的文件。当然也是可以夹带私货的,比如下图里的图和文档资料就是博主自己在里面创建的,目的是开发的时候方便提取图片素材与翻阅手册: 在这里插入图片描述

二、起步阶段 1. 等待初始化页面

  先把第一页做出来。开机动画和开机音乐就免了,咱不搞这些花里胡哨的,就让显示屏上电显示等待初始化页面,然后在 PC 端模拟板载系统,初始化完成了就用串口发信号给迪文屏,迪文屏就显示跳转到主页面。

1.1 添加背景图片

  直接在下图的位置添加: 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

T5UID3 的 256MB Flash 中,可以用来存放图片的空间有 192MB; 在这里插入图片描述

要添加的背景图片能正常显示必须满足四个条件:BMP格式、位深度24、分辨率与工程所设相同、命名为 序号ID +(可选的)补充文件名。

1.2 制作ICO图标库文件

  首先找好 GIF 素材(不用太大),然后用小工具将其逐帧分解为位深度24 的 BMP 图片,并用序号ID重命名(咱比较懒就用脚本代劳了) 在这里插入图片描述 在这里插入图片描述   然后打开下图底部的配置工具栏中的 DWIN ICO 生成工具,按步骤添加检索文件夹并生成 ICO 文件即可。注意如果图片无法从文件夹里读入这个工具就说明图片格式有问题: 在这里插入图片描述   然后把生成的 ICO 文件复制一份扔到 DWIN_SET 文件夹里: 在这里插入图片描述

ICO 文件中图片的分辨率最大不超过 1024*1024 像素,超过了会被强制压缩;

编号40并不是唯一选择,23~127都可以用: 在这里插入图片描述

FLASH 存储空间中,单个字库空间为 256KB 大小。当单个图标库文件超过 256KB 时,需要严格计算该图标库所占空间,否则可能会造成图标区间位置冲突而导致显示异常。比如刚才生成的 ICO 文件大小为 1.24MB,则占用空间值 1.24 * 1024 / 256 = 4.96,即占用 40、41、42、43、44 这5个字库空间,因此下一个图标库命名要从 45 开始。 在这里插入图片描述

1.3 添加动画图标

  回到 000.bmp 的设计页面下,将动画图标显示控件放置到背景图片上(不用刻意调整控件大小,选择好显示图标后会自适应调节): 在这里插入图片描述   在右侧高亮处选择要显示的图标文件,且右上角可设定 X 和 Y 来精确设定控件在背景图片下的位置: 在这里插入图片描述   设置开始图标和结束图标,过滤背景色: 在这里插入图片描述   设置变量地址、停止值、开始值和初始值等属性(可以看到控件已经完成自适应调节尺寸了): 在这里插入图片描述

描述指针直接保持用 0xFFFF 即可,表示由配置文件加载;

变量地址的可选范围为 0x1000~0xFFFF,且变量地址的选择与字库空间类似,一个变量地址内最多可以容纳 2字节的内容,比如下面那张示例图片中,下一个可用变量的地址只能设置为 0x1006 往后了(最好保持为偶数,使用奇数地址可能会出现不明的问题): 在这里插入图片描述 在这里插入图片描述 同时对于动画图标显示控件,变量地址占用两个字的位置: 在这里插入图片描述

开始值和停止值为动画图标控件进行动画显示的设定阈值,配合初始值和触碰控件的按键值返回使用可以起到控制作用,这里的设置方式实际上就是让动画图片控件直接开始动画显示(动画显示模式和背景显示模式应该就没必要说明了吧,有兴趣就自己试);

单个图标显示时间是以 DGUS 周期为单位的计数器。T5UID3 中规定一个 DGUS 周期为 40ms,这也就意味着要想动画图标显示的刷新上限就是 40ms一帧,即帧率最高只有 25fps(欲言又止.jpg)。

  可以在这里预览一下目前的工程下载到迪文屏里的显示效果: 在这里插入图片描述 在这里插入图片描述

1.4 添加0号字库

  如果在预览的时候弹出了这个提示,就说明软件没有在 DWIN_SET 文件夹下检测到 0号字库文件: 在这里插入图片描述   生成方法还是在老地方(底部的配置工具栏),这里直接使用默认配置生成: 在这里插入图片描述   完成制作后就可以在开发软件目录下找到 0号字库(高亮)了: 在这里插入图片描述   把 0号字库复制一份扔到 DWIN_SET 文件夹下,再去预览就不会弹出提示了: 在这里插入图片描述   最后保存工程并生成配置文件: 在这里插入图片描述 在这里插入图片描述   在工程文件夹的 DWIN_SET 目录下可以看到又多了以 13、14、22 为序号ID 的 bin 文件: 在这里插入图片描述

1.5 SD卡接口下载工程

  SD卡也有要求(真麻烦),内存大小要在 1~16GB 之间,FAT32格式,而且单个扇区的大小必须为 4KB。   在确保 SD 卡能被迪文屏正常识别的条件下下载过程很简单,把工程目录下的 DWIN_SET 文件夹整个复制到 SD 卡里,然后给迪文屏上电,插入 SD 卡,等蓝屏下显示处理完成后拔掉 SD 卡,再给迪文屏掉电、上电就会开始跑刚才下载进去的工程了。 在这里插入图片描述   工程下载进去了,也能正常显示 000.bmp 以及转圈,现在完成收尾工作,即使用串口模拟 MCU 向迪文屏发送页面跳转指令表示系统初始化完成。 在这里插入图片描述

1.6 串口通信:页面切换指令

  预留的系统变量中已经提供了进行页面跳转的串口指令(NND,一顿好找,这文档真绝): 在这里插入图片描述   就拿上面给的指令示例 5A A5 07 82 0084 5A01 0001 尝试一下,让页面跳转到 001.bmp: 在这里插入图片描述   并没有收到应答,但是看迪文屏上已经成功跳转: 在这里插入图片描述

PS:这个串口指令预计会比较常用,可以打包成函数的形式,预留参数就是要跳转到的页面的ID。

2. 初步规划主页面

  后面的界面还没有想好怎么设计,就先按着例程里的设计来吧,把主页面的大致轮廓规划一下。

2.1 更换背景图片

  为方便后续更换图片源,先把之前工程里的后面几张背景图片同一更换为纯色图片。方法也很简单:首先保存工程并关闭 DGUS 软件,然后将准备好的图片按序号ID重命名,直接复制到 DWIN_SET 文件夹下将原来的图片替换掉,然后重新打开 DGUS 软件下的工程就会发现已经改好了: 在这里插入图片描述

2.2 放置RTC显示控件

  RTC显示有两种格式,一种是表盘时钟显示形式,需要 RTC 硬件支持;另一种则是文本显示形式。这里选择文本显示形式。   进入 001.bmp 的设计页面,选择文本RTC显示控件放置到背景图片下: 在这里插入图片描述   依次设置好 X 和 Y 坐标、字体颜色、X方向点阵数以及日期格式: 在这里插入图片描述

W 和 H(宽高)的数值其实没有太大影响,具体显示多大实际上看的是 X 方向点阵数,这里设置到包含整个文本只是单纯有些强迫症;字库位置意义不明,推测填入的是文本显示使用字库的序号ID,这里为 0 应该是指使用 0 号字库的字体;日期格式没有固定形式,根据右下方的 RTC 编码表可进行任意的排列组合,中间还能加 :、- 等标点符号。 2.3 放置文本显示控件

  文本显示控件就在 RTC 显示控件边上: 在这里插入图片描述   接着设置控件的属性参数: 在这里插入图片描述 在这里插入图片描述

编码方式根据使用的字库设置,0号字库默认编码方式为 GBK,即在不引入汉字的情况下不想添加新的字库可以设置为 GBK 编码;文本长度的单位是字节,用来指定显示文本的长度同时配合变量地址确定该控件占用的空间(比如这里变量地址是 0x1030,长度是10,那么下一个变量地址就应该从 0x103A开始);FONT0_ID、FONT1_ID 软件本身已经进行了说明,不添加新字库全部默认为 0 即可,这里 FONT1_ID 设置为 60 是因为添加了自制的一个GBK汉字字库,序号ID 为 60;X方向点阵数、Y方向点阵数也需要根据使用的字库来设置,否则会乱码。这里新添加的 60 号GBK 字库就是使用的 50 * 50 的点阵(0号字库的可选范围在 8 x 4 ~ 128 x 64 之间),也就是字库生成器的宽高为 50; 在这里插入图片描述初始值就是指定文本控件要显示的内容。

  下载工程,上电测试: 在这里插入图片描述

2.4 添加基础触控

  这里摒弃了按钮效果,只设置页面切换功能,顺便还建立了主页面和后面几张背景之间的触控跳转关系: 在这里插入图片描述   如果出现触摸屏失灵的情况可以试着把从迪文开发者论坛里下载到的 DEMO 里的 CFG 文件拉出来扔到工程的 DWIN_SET 里重新配置一次看看(咱之前也有过失灵问题就是这么解决的): 在这里插入图片描述

PS:DEMO 里的 CFG 文件相当于出厂配置,没有特殊需求基本不用修改。如果一定要改可以参考对应型号的应用开发指南。

2.5 串口通信:RTC读取与修改

  从之前的实际显示效果可以看出迪文屏里的 RTC 实际参数和软件上预览的 RTC 参数并不相同。这里利用串口重新配置一下 RTC 参数。在手册上找到关于 RTC 的配置方法: 在这里插入图片描述 在这里插入图片描述   使用串口助手发送配置指令 5A A5 0B 82 009C 5A A5 32 0A 01 0B 0C 0D 进行测试,将时间修改为 2050 年 10 月 1 日 11 时 12 分 13 秒: 在这里插入图片描述   年份没有显示,但是其他的都已经改过来了,所以指令应该是有效的: 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3